#pragma once

#include <numeric>

namespace PathUtils
{
    tchar_string shorten(tchar_string const& full);
    tchar_string pathCombine(tchar_string const& p1, tchar_string const& p2);
    tchar_string removeFileSpec(tchar_string const& full);
    
    template <typename FwIt> 
    tchar_string pathCombine(FwIt first, FwIt last)
    {
        return std::accumulate(first, last, tchar_string(_T("\\")), pathCombine);
    }
}